package com.ruoyi.project.jiaowu.kaikeplan.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;
import org.apache.ibatis.type.Alias;

import java.util.Date;

/**
 * 开课计划对象 tb_kaike_plan
 *
 * @author ruoyi
 * @date 2019-10-23
 */
@Alias("TbKaikePlan")
public class TbKaikePlan extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 课程名称 */
    @Excel(name = "导出总课程,对应添加真实id" , width = 30)
    private Long courseId;

    /** 开课名称 */
    @Excel(name = "开课名称")
    private String kaikeName;

    /** 开课教师 */
    @Excel(name = "开课教师,请添加真实存在教师名称")
    private String courseTeacher;

    /** 上课时间 */
    //@Excel(name = "上课时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date courseTime;

    /** 上课地点 */
    @Excel(name = "上课地点")
    private String courseAddress;

    /** 发布状态(0.未发布 1.已发布 ) */
    @Excel(name = "发布状态(0.未发布 1.已发布 )" ,width = 30)
    private Long fabuState;

    /** 学时 */
    private Long stutime;

    /** 学分 */
    private Long stuscore;

    /** 学生类别 */
    @Excel(name = "学生类别（字典表中查看  对应字典键值）", width = 35)
    private Long stutype;

    /** 面向群体 */
    @Excel(name = "面向群体 （对应专业 填写专业键值）", width = 30)
    private Long facegroup;

    /** 开课最低人数 */
    @Excel(name = "开课最低人数")
    private Long stulownumber;

    /** 开课最高人数 */
    @Excel(name = "开课最高人数")
    private Long stumaxnumber;

    /** 上课最低周 */
    @Excel(name = "上课最低周 （例：1）" ,width = 25)
    private Integer classlowweek;

    /** 上课最高周 */
    @Excel(name = "上课最高周 （例：16）",width = 25)
    private Integer classmaxweek;

    /** 学年 */
    @Excel(name = "学年 (导出学期设置，对应填写真实id)" , width = 35)
    private Long stuYear;

    /** 学期 */
    //@Excel(name = "学期 (填写 1或2)")
    private Integer stuterm;

    /** 开课状态（0.未开课  1.已开课） */
    @Excel(name = "开课状态", readConverterExp = "0=.未开课,1=.已开课" ,width = 35)
    private Integer kaikeState;

    /** 上课星期几 */
    @Excel(name = "即星期几 （例 1）")
    private Integer courseWeektime;

    /** 上课时间（第几节） */
    @Excel(name = "上课时间，例 第一节 填入 1", readConverterExp = "第=几节" ,width = 35)
    private Long firstCouretime;

    /** 上课时间（第几节） */
    @Excel(name = "上课时间，例 第二节 填入 2", readConverterExp = "第=几节",width = 35)
    private Long lastCouretime;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setKaikeName(String kaikeName)
    {
        this.kaikeName = kaikeName;
    }

    public String getKaikeName()
    {
        return kaikeName;
    }

    public Long getCourseId() {
        return courseId;
    }

    public void setCourseId(Long courseId) {
        this.courseId = courseId;
    }

    public void setCourseTeacher(String courseTeacher)
    {
        this.courseTeacher = courseTeacher;
    }

    public String getCourseTeacher()
    {
        return courseTeacher;
    }
    public void setCourseTime(Date courseTime)
    {
        this.courseTime = courseTime;
    }

    public Date getCourseTime()
    {
        return courseTime;
    }
    public void setCourseAddress(String courseAddress)
    {
        this.courseAddress = courseAddress;
    }

    public String getCourseAddress()
    {
        return courseAddress;
    }
    public void setFabuState(Long fabuState)
    {
        this.fabuState = fabuState;
    }

    public Long getFabuState()
    {
        return fabuState;
    }
    public void setStutime(Long stutime)
    {
        this.stutime = stutime;
    }

    public Long getStutime()
    {
        return stutime;
    }
    public void setStuscore(Long stuscore)
    {
        this.stuscore = stuscore;
    }

    public Long getStuscore()
    {
        return stuscore;
    }
    public void setStutype(Long stutype)
    {
        this.stutype = stutype;
    }

    public Long getStutype()
    {
        return stutype;
    }
    public void setFacegroup(Long facegroup)
    {
        this.facegroup = facegroup;
    }

    public Long getFacegroup()
    {
        return facegroup;
    }
    public void setStulownumber(Long stulownumber)
    {
        this.stulownumber = stulownumber;
    }

    public Long getStulownumber()
    {
        return stulownumber;
    }
    public void setStumaxnumber(Long stumaxnumber)
    {
        this.stumaxnumber = stumaxnumber;
    }

    public Long getStumaxnumber()
    {
        return stumaxnumber;
    }
    public void setClasslowweek(Integer classlowweek)
    {
        this.classlowweek = classlowweek;
    }

    public Integer getClasslowweek()
    {
        return classlowweek;
    }
    public void setClassmaxweek(Integer classmaxweek)
    {
        this.classmaxweek = classmaxweek;
    }

    public Integer getClassmaxweek()
    {
        return classmaxweek;
    }
    public void setStuterm(Integer stuterm)
    {
        this.stuterm = stuterm;
    }

    public Integer getStuterm()
    {
        return stuterm;
    }
    public void setKaikeState(Integer kaikeState)
    {
        this.kaikeState = kaikeState;
    }

    public Integer getKaikeState()
    {
        return kaikeState;
    }
    public void setStuYear(Long stuYear)
    {
        this.stuYear = stuYear;
    }

    public Long getStuYear()
    {
        return stuYear;
    }
    public void setCourseWeektime(Integer courseWeektime)
    {
        this.courseWeektime = courseWeektime;
    }

    public Integer getCourseWeektime()
    {
        return courseWeektime;
    }
    public void setFirstCouretime(Long firstCouretime)
    {
        this.firstCouretime = firstCouretime;
    }

    public Long getFirstCouretime()
    {
        return firstCouretime;
    }
    public void setLastCouretime(Long lastCouretime)
    {
        this.lastCouretime = lastCouretime;
    }

    public Long getLastCouretime()
    {
        return lastCouretime;
    }



    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("kaikeName", getKaikeName())
                .append("courseId", getCourseId())
                .append("courseTeacher", getCourseTeacher())
                .append("courseTime", getCourseTime())
                .append("courseAddress", getCourseAddress())
                .append("fabuState", getFabuState())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("stutime", getStutime())
                .append("stuscore", getStuscore())
                .append("stutype", getStutype())
                .append("facegroup", getFacegroup())
                .append("stulownumber", getStulownumber())
                .append("stumaxnumber", getStumaxnumber())
                .append("classlowweek", getClasslowweek())
                .append("classmaxweek", getClassmaxweek())
                .append("stuterm", getStuterm())
                .append("kaikeState", getKaikeState())
                .append("stuYear", getStuYear())
                .append("courseWeektime", getCourseWeektime())
                .append("firstCouretime", getFirstCouretime())
                .append("lastCouretime", getLastCouretime())
                .toString();
    }
}
